メインコンテンツまでスキップ

로그 이력에 AMS로그 포함 패치 방법

기존에는 문서보안의 로그만 조회가 가능하였으나 승인반출시스템에서 해제한 로그도 포함이 필요함에 따라 AMS로그도 추가하도록 개발되어 패치 방법을 가이드 합니다.

1. ElasticSearch 패치

1.1. softcamp-ams-logs인덱스 만들기

softcamp-ams-logs-setting.json 파일 본문 내용

OS마다 스크립트가 다르기 때문에 주의 필요

{
"settings": {
"index": {
"number_of_shards": "4",
"number_of_replicas": "0",
"analysis": {
"analyzer": {
"korean": {
"type": "custom",
"tokenizer": "seunjeon_default_tokenizer",
"filter": ["trim", "lowercase", "stop", "kstem"]
},
"korean_filename": {
"type": "custom",
"tokenizer": "seunjeon_default_tokenizer",
"filter": ["trim", "lowercase", "stop", "kstem", "filename"]
}
},
"tokenizer": {
"seunjeon_default_tokenizer": {
"type": "seunjeon_tokenizer",
"user_words": [
"낄끼+빠빠,-100",
"c\\+\\+",
"어그로",
"버카충",
"abc마트"
],
"index_eojeol": "false"
}
},
"filter": {
"filename": {
"type": "pattern_capture",
"preserve_original" : 1,
"patterns" : ["([^\\.^_]+)", "\\.(.+)", "_(.+)"]
}
}
}
}
},
"mappings": {
"amslog_info": {
"properties": {
"NUM": {
"type": "keyword"
},
"USER_ID": {
"type": "keyword"
},
"USER_NAME": {
"type": "keyword"
},
"WRITE_DATE": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"APPROVAL_ID": {
"type": "keyword"
},
"APPROVAL_NAME": {
"type": "keyword"
},
"APPROVAL_TIME": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"APPROVAL_TYPE": {
"type": "integer"
},
"APPROVL_TYPE_NAME": {
"type": "text",
"analyzer": "korean"
},
"TITLE": {
"type": "text",
"analyzer": "korean"
},
"DESTINATION": {
"type": "text",
"analyzer": "korean"
},
"CONTENT": {
"type": "text",
"analyzer": "korean"
},
"ENCRYPT_TYPE": {
"type": "keyword"
},
"ENCRYPT_TYPE_NAME": {
"type": "text",
"analyzer": "korean"
},
"ENCRYPT_POLICY": {
"type": "text"
},
"DOWNLOAD_ENDDATE": {
"type": "integer"
},
"DOWNLOAD_COUNT": {
"type": "integer"
},
"FILECOUNT": {
"type": "integer"
},
"UPLOADFILE_NAME": {
"type": "text",
"analyzer": "korean_filename"
},
"UPLOADFILE_SIZE": {
"type": "long"
},
"CONFORM_CONTENT": {
"type": "text",
"analyzer": "korean"
},
"REJECT_CONTENT": {
"type": "text",
"analyzer": "korean"
},
"APPROVAL_STATE": {
"type": "text"
},
"TOPGROUP_ID": {
"type": "text"
},
"TOPGROUP_NAME": {
"type": "text"
},
"APPROVALSTEAD_NUM": {
"type": "text"
},
"APPROVALSTEAD_ID": {
"type": "text"
},
"APPROVALSTEAD_NAME": {
"type": "text"
},
"APPR_INFO_SEND": {
"type": "text"
},
"LATEAPPROVAL_FLAG": {
"type": "text"
},
"VIEWCOUNT": {
"type": "integer"
},
"NOTIFYINFO": {
"type": "text"
},
"APPROVAL_STEP": {
"type": "integer"
},
"APPROVAL_LASTSTEP": {
"type": "integer"
},
"PRIVATEDATA_COUNT": {
"type": "integer"
},
"EXTENDAPPROVAL_TYPE": {
"type": "text"
},
"EXTENDAPPROVAL_PERIOD": {
"type": "integer"
},
"EXTENDAPPROVAL_EXPIREDATE": {
"type": "text"
},
"EXTENDAPPROVAL_CANCEL": {
"type": "text"
},
"SPARE1": {
"type": "text"
},
"SPARE2": {
"type": "text"
},
"SPARE3": {
"type": "text"
},
"SPARE4": {
"type": "text"
},
"SPARE5": {
"type": "text"
},
"SENDMAIL_USE": {
"type": "text"
},
"EXTENDAPPROVAL_STARTDATE": {
"type": "text"
},
"GROUP_ID": {
"type": "text"
},
"GROUP_NAME": {
"type": "text"
},
"EXTDRM_USE": {
"type": "text"
},
"GROUP_PATH": {
"type": "text",
"analyzer": "korean"
},
"USERACCESS_IP": {
"type": "text"
},
"EXTERNAL_LOGID": {
"type": "text"
},
"EXTRA_INFO": {
"type": "text"
}
}
}
}
}

1.1.1 softcamp-ams-logs-setting.json 파일 본문 내용을 복사하여 노트패드등에 붙여넣기 한다.(저장시 인코딩은 UTF-8로 한다)

1.1.2 생성된 softcamp-ams-logs-setting.json 파일을 서버에 업로드 한다.

1.1.3 업로드된 디렉토리로 이동하여 명령어를 실행한다.

curl -XPUT localhost:9200/softcamp-ams-logs?pretty=true -d @softcamp-ams-logs-setting.json -H "Content-Type:application/json"

1.1.4 결과를 확인한다.

결과메시지
{
"acknowledged" : true,
"shards_acknowledged" : true
}

1.2. ams인덱스 정보 추가

1.2.1. LogViewer/data/logViewer/conf/elasticSearch.properties 파일 편집

1.2.2. es.types.indies의 항목 맨 뒤에 ams인덱스 정보 추가

추가 값
|amslog_info^softcamp-ams-logs

최종 값 : es.types.indies = dslog_info^softcamp-ds-logs-|userlog_info^softcamp-user-logs-|maxeon_log^softcamp-mx-logs|mx_folder_status^softcamp-mx-folder-size|managerlog_info^softcamp-manager-logs-*|amslog_info^softcamp-ams-logs

2. LogStash 파일 및 설정 추가

2.1. 설치경로/LogViewer/app/ELK/logstash-5.5.0/last_run/ 경로로 이동한다.

2.2. logstash_jdbc_amslog_last_run.txt 파일을 생성 한다.

vi logstash_jdbc_amslog_last_run.txt
logstash_jdbc_amslog_last_run.txt 파일 본문에 내용 추가
--- '2020-01-01 00:00:00'

지정된 날짜 이후의 데이터가 엘라스틱서치에 저장됨.

2.3. logstash 서비스 중지

2.3.1. logstash 서비스 찾기 명령어

ps -ef |grep logstash

Alt text

2.3.2. logstash 서비스 종료 명령어 (위 샘플에서 PID는 906)

kill -9 PID

2.4. 설치경로/LogViewer/app/ELK/logstash-5.5.0로 이동

2.5. DB에서 정보를 가지고 오는 conf파일 추가(input과 output에 각 항목 신규 추가필요)

mariadb conf의 input에 내용 추가

경로 및 계정정보는 고객사에 맞게 수정 필요


jdbc {
jdbc_validate_connection => true
jdbc_driver_library => "/APP/LogViewer/app/ELK/logstash-5.5.0/jdbc/mariadb-java-client-2.2.5.jar"
jdbc_driver_class => "org.mariadb.jdbc.Driver"
jdbc_connection_string => "jdbc:mariadb://10.50.10.201:3306/amsdb"
jdbc_user => "amsadmin"
jdbc_password => "ams1q2w3e4r"
lowercase_column_names => false
sql_log_level => "warn"
statement => "SELECT
A.Num AS NUM
, IFNULL(A.User_ID, '') AS USER_ID
, IFNULL(A.User_Name, '') AS USER_NAME
, DATE_FORMAT(A.Write_Date, '%Y-%m-%d %H:%i:%s') AS WRITE_DATE
, IFNULL(A.Approval_ID, '') AS APPROVAL_ID
, IFNULL(A.Approval_Name, '') AS APPROVAL_NAME
, DATE_FORMAT(A.Approval_Time, '%Y-%m-%d %H:%i:%s') AS APPROVAL_TIME
, IFNULL(A.Approval_Type, '') AS APPROVAL_TYPE
, IFNULL(C.Type, '') AS APPROVL_TYPE_NAME
, IFNULL(A.Title, '') AS TITLE
, IFNULL(A.Destination, '') AS DESTINATION
, IFNULL(A.Content, '') AS CONTENT
, IFNULL(A.Encrypt_Type, '') AS ENCRYPT_TYPE
, IFNULL(D.Sys_Name, '') AS ENCRYPT_TYPE_NAME
, IFNULL(A.Encrypt_Policy, '') AS ENCRYPT_POLICY
, IFNULL(A.Download_EndDate, '') AS DOWNLOAD_ENDDATE
, IFNULL(B.DownLoad_Count, '') AS DOWNLOAD_COUNT
, IFNULL(A.FileCount, '') AS FILECOUNT
, IFNULL(B.UploadFile_Name, '') AS UPLOADFILE_NAME
, IFNULL(B.UploadFile_Size, '') AS UPLOADFILE_SIZE
, IFNULL(A.Conform_Content, '') AS CONFORM_CONTENT
, IFNULL(A.Reject_Content, '') AS REJECT_CONTENT
, IFNULL(A.Approval_State, '') AS APPROVAL_STATE
, IFNULL(A.TopGroup_ID, '') AS TOPGROUP_ID
, IFNULL(A.TopGroup_Name, '') AS TOPGROUP_NAME
, IFNULL(A.ApprovalStead_Num, '') AS APPROVALSTEAD_NUM
, IFNULL(A.ApprovalStead_ID, '') AS APPROVALSTEAD_ID
, IFNULL(A.ApprovalStead_Name, '') AS APPROVALSTEAD_NAME
, IFNULL(A.APPR_INFO_SEND, '') AS APPR_INFO_SEND
, IFNULL(A.LateApproval_Flag, '') AS LATEAPPROVAL_FLAG
, IFNULL(A.ViewCount, '') AS VIEWCOUNT
, IFNULL(A.NotifyInfo, '') AS NOTIFYINFO
, IFNULL(A.Approval_Step, '') AS APPROVAL_STEP
, IFNULL(A.Approval_LastStep, '') AS APPROVAL_LASTSTEP
, IFNULL(A.PrivateData_Count, '') AS PRIVATEDATA_COUNT
, IFNULL(A.ExtendApproval_Type, '') AS EXTENDAPPROVAL_TYPE
, IFNULL(A.ExtendApproval_Period, '') AS EXTENDAPPROVAL_PERIOD
, IFNULL(A.ExtendApproval_ExpireDate, '') AS EXTENDAPPROVAL_EXPIREDATE
, IFNULL(A.ExtendApproval_Cancel, '') AS EXTENDAPPROVAL_CANCEL
, IFNULL(A.Spare1, '') AS SPARE1
, IFNULL(A.Spare2, '') AS SPARE2
, IFNULL(A.Spare3, '') AS SPARE3
, IFNULL(A.Spare4, '') AS SPARE4
, IFNULL(A.Spare5, '') AS SPARE5
, IFNULL(A.SendMail_Use, '') AS SENDMAIL_USE
, IFNULL(A.ExtendApproval_StartDate, '') AS EXTENDAPPROVAL_STARTDATE
, IFNULL(A.Group_ID, '') AS GROUP_ID
, IFNULL(A.Group_Name, '') AS GROUP_NAME
, IFNULL(A.ExtDRM_Use, '') AS EXTDRM_USE
, IFNULL(A.Group_Path, '') AS GROUP_PATH
, IFNULL(A.UserAccess_Ip, '') AS USERACCESS_IP
, IFNULL(A.External_LogID, '') AS EXTERNAL_LOGID
, IFNULL(A.Extra_Info, '') AS EXTRA_INFO
FROM
Approval_Info A
LEFT OUTER JOIN UploadFile_Info B ON A.Num = B.Approval_Num
LEFT OUTER JOIN ApprovalType_info C ON A.Approval_Type = C.Num
LEFT OUTER JOIN System_Info_Detail D ON A.Encrypt_Type = D.Sys_Cd
WHERE
A.APPROVAL_STATE = 'C'
AND DATE_FORMAT(A.Write_Date, '%Y-%m-%d %H:%i:%s') > :sql_last_value
ORDER BY WRITE_DATE ASC"
jdbc_fetch_size => 10000
type => "amslog_info"
use_column_value => true
tracking_column => "WRITE_DATE"
record_last_run => true
last_run_metadata_path => "/APP/LogViewer/app/ELK/logstash-5.5.0/last_run/logstash_jdbc_amslog_last_run.txt"
schedule => "*/1 * * * *"
}

mariadb conf의 output에 내용 추가

else if [type] == "amslog_info" {
elasticsearch {
hosts => "127.0.0.1:9200"
manage_template => false
index => "softcamp-ams-logs"
document_type => "amslog_info"
}
}

3. 정책 추가

3.1. 설치경로/LogViewer/data/logViewer/JSON/logViewer.json 파일을 편집한다.

logViewer.json 파일 본문에 내용 추가
"ams_log_use": "Y"

json 하위에 추가한다.

4. 신규 JSON설정 파일 추가

json파일을 생성하여 각 위치에 추가 한다

4.1. header json 파일 : 설치위치/LogViewer/data/logViewer/JSON/header/amslog_info.json

header경로의 json파일 내용
{
"amslog_info": {
"ko": [
{
"header_id": "num",
"header_nm": "결재번호",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "사용자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "사용자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "작성일",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "결재자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "결재자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "결재 완료 시간",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "반출유형 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "반출유형 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "제목",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "반출처",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "반출 사유",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "요청방법 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "요청방법 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "암호화 정책",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "다운로드 기한(일)",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "다운로드 횟수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "파일 개수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "파일명",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "파일 크기",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "승인 의견",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "반려 의견",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "결재 상태",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "소속 회사 아이디",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "소속 회사 이름",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "대결자 정보 번호",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "대결자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "대결자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "결재 정보 전송 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "후결",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "열람 횟수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "알림 메시지 전송기록",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "진행 중인 결재 단계",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "최종 결재 단계",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "개인정보 포함건수",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "외부 시스템 정책 타입",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "외부 시스템 권한 사용 기간",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "외부 시스템 권한 사용 만료일",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "외부 시스템 권한 회수 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "예비 컬럼1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "예비 컬럼2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "예비 컬럼3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "예비 컬럼4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "예비 컬럼5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "메일 발송 타입",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "외부 시스템 권한 사용 시작일",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "부서아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "부서 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "외부 DRM 사용 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "부서 경로",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "작성자 IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "망연계 처리결과 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "기타정보",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
],
"en": [
{
"header_id": "num",
"header_nm": "Approval Number",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "User ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "User Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "Write Date",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "Approver ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "Approver Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "Approval Date",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "Export Type Code",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "Export Type Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "Title",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "Destination",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "Reason",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "Encrypt Type",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "Encrypt Type Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "Encrypt Policy",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "Download Expire Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "Download Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "File Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "File Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "File Size",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "Approval Comments",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "Rejection Comments",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "Approval State",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "Company ID",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "Company Name",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "Stead Num",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "Stead ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "Stead Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "Approval Info Send",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "Pre Approved",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "View Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "Notification Send",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "Approval Step",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "Final Approval Step",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "Personal Information Count",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "External System Policy Type",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "External System Authority Usage Period",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "External System Authority Usage Expire Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "External System Authority Remove",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "Spare Column 1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "Spare Column 2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "Spare Column 3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "Spare Column 4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "Spare Column 5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "Send Email",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "External System Authority Usage Start Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "Group ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "Group Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "External DRM",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "Group Path",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "Access IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "Result Code",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "Extra Info",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
],
"ja": [
{
"header_id": "num",
"header_nm": "承認番号",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "ユーザーID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "ユーザー名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "作成日",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "承認者ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "承認者名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "承認完了時間",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "輸出タイプコード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "輸出タイプ名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "題名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "輸出先",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "輸出理由",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "リクエスト方法コード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "リクエスト方法名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "暗号化ポリシー",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "ダウンロード期限",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "ダウンロード回数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "ファイル数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "ファイル名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "ファイルサイズ",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "承認コメント",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "却下コメント",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "承認状態",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "所属会社ID",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "所属会社名",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "代理者情報番号",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "代理者ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "代理者名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "承認情報送信有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "後決",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "閲覧回数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "通知メッセージ送信履歴",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "進行中の承認段階",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "最終承認段階",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "個人情報含有件数",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "外部システムポリシータイプ",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "外部システム権限使用期間",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "外部システム権限使用期限切れ日",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "外部システム権限回収有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "予備カラム1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "予備カラム2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "予備カラム3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "予備カラム4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "予備カラム5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "メール送信タイプ",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "外部システム権限使用開始日",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "部署ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "部署名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "外部DRM使用有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "グループパス",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "投稿者IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "ネットワーク連携処理結果コード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "その他情報",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
]
}
}

4.2. logtype json 파일 : 설치위치/LogViewer/data/logViewer/JSON/logtype/amslog_info.json

logtype경로의 json파일 내용
{
"amslog_info": {
"ko": [
{
"logtype_id": "D",
"logtype_name": "암호화 해제"
},
{
"logtype_id": "S",
"logtype_name": "외부전송 파일"
},
{
"logtype_id": "SW",
"logtype_name": "외부반출"
},
{
"logtype_id": "EX",
"logtype_name": "외부DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "스크린 워터마킹 해제"
},
{
"logtype_id": "SC0002",
"logtype_name": "프린트 워터마킹 해제"
},
{
"logtype_id": "SC0003",
"logtype_name": "클라이언트 삭제 권한 요청"
},
{
"logtype_id": "SC0007",
"logtype_name": "스크린 워터마킹 예외 기간 설정"
},
{
"logtype_id": "SC0008",
"logtype_name": "프린트 마킹 예외 기간 설정"
},
{
"logtype_id": "SC0009",
"logtype_name": "보안 USB 파일 반출"
},
{
"logtype_id": "SC0010",
"logtype_name": "캡쳐 툴 제한 예외 설정"
}
],
"en": [
{
"logtype_id": "D",
"logtype_name": "Decryption"
},
{
"logtype_id": "S",
"logtype_name": "Security file"
},
{
"logtype_id": "SW",
"logtype_name": "External export"
},
{
"logtype_id": "EX",
"logtype_name": "External DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "Screen watermark unmarking"
},
{
"logtype_id": "SC0002",
"logtype_name": "Print watermark unmarking"
},
{
"logtype_id": "SC0003",
"logtype_name": "Document security delete permission"
},
{
"logtype_id": "SC0007",
"logtype_name": "Screen watermarking exception period"
},
{
"logtype_id": "SC0008",
"logtype_name": "Print marking exception period"
},
{
"logtype_id": "SC0009",
"logtype_name": "Secure USB file export"
},
{
"logtype_id": "SC0010",
"logtype_name": "Capture tool restriction exception"
}
],
"ja": [
{
"logtype_id": "D",
"logtype_name": "暗号化解除"
},
{
"logtype_id": "S",
"logtype_name": "外部転送ファイル"
},
{
"logtype_id": "SW",
"logtype_name": "外部搬出"
},
{
"logtype_id": "EX",
"logtype_name": "外部DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "スクリーンウォーターマーキング解除"
},
{
"logtype_id": "SC0002",
"logtype_name": "プリントウォーターマーキング解除"
},
{
"logtype_id": "SC0003",
"logtype_name": "クライアントの削除権限要請"
},
{
"logtype_id": "SC0007",
"logtype_name": "スクリーン透かし例外期間の設定"
},
{
"logtype_id": "SC0008",
"logtype_name": "プリントマーキング例外期間の設定"
},
{
"logtype_id": "SC0009",
"logtype_name": "セキュアUSBファイルのエクスポート"
},
{
"logtype_id": "SC0010",
"logtype_name": "キャプチャツール制限例外設定"
}
]
}
}

5. war파일 패치

5.1. 톰캣 중지 및 백업

5.1.1. /설치위치/LogViewer/app/tomcat9.0/ 이동

cd /설치위치/LogViewer/app/tomcat9.0/

5.1.2. ./tomcat_stop.sh 실행

./tomcat_stop.sh

5.1.3. /설치위치/LogViewer/app/tomcat9.0/webapps/LogViewer.war 파일을 LogViewer.war_년월일로 변경

cp LogViewer.war LogViewer.war_$(date +%Y%m%d)

5.1.4. /설치위치/LogViewer/app/tomcat9.0/webapps/LogViewer 폴더 또는 리네임 삭제

mv LogViewer LogViewer_$(date +%Y%m%d)

5.1.5. /설치위치/LogViewer/app/tomcat9.0/work/Catalina 폴더 삭제(백업 필요 없음)

rm -r -f ../work/Catalina/

5.2. 최신 war패치 및 톰캣 시작

5.2.1. 최신 ams.war 파일을 /설치위치/LogViewer/app/tomcat9.0/webapps 에 업로드

5.2.2. 톰캣 시작

cd /설치위치/LogViewer/app/tomca9.0/
./tomcat_stop.sh